﻿namespace Super
{
	/// <summary>
	///	事件触发，传递参数的类型
	/// </summary>
	public class EventSimpleGE : IGameEvent
	{
		public EventSimpleGE() { }
	}
	/*******************************************输入事件******************************************/
	/// <summary>
	/// 鼠标按下事件
	/// </summary>
	public class MouseDownGE : IGameEvent
	{
		public MouseKey key;

		/// <param name="key">鼠标按钮枚举，0-左键、1-中键、2-右键</param>
		public MouseDownGE(MouseKey key)
		{
			this.key = key;
		}
	}

	/// <summary>
	/// 鼠标松开事件
	/// </summary>
	public class MouseUpGE : IGameEvent
	{
		public MouseKey key;

		/// <param name="key">鼠标按钮枚举，0-左键、1-中键、2-右键</param>
		public MouseUpGE(MouseKey key)
		{
			this.key = key;
		}
	}

	/// <summary>
	/// 鼠标拖拽事件
	/// </summary>
	public class MouseDragGE : IGameEvent
	{
		public MouseKey key;

		/// <param name="key">鼠标按钮枚举，0-左键、1-中键、2-右键</param>
		public MouseDragGE(MouseKey key)
		{
			this.key = key;
		}
	}

	/// <summary>
	/// 功能按钮One按下
	/// </summary>
	public class FunBtnOneDownGE : IGameEvent
	{
		public FunBtnOneDownGE() { }
	}
	/********************************************UI事件*******************************************/
	/// <summary>
	/// 面板打开事件
	/// </summary>
	public class PanelOpenGE : IGameEvent
	{
		public string panelName;
		public PanelBase panelBase;

		public PanelOpenGE(string panelName, PanelBase panelBase)
		{
			this.panelName = panelName;
			this.panelBase = panelBase;
		}
	}

	/// <summary>
	/// Widget打开事件
	/// </summary>
	public class WidgetOpenGE : IGameEvent
	{
		public string widgetName;
		public WidgetBase widgetBase;

		public WidgetOpenGE(string widgetName, WidgetBase widgetBase)
		{
			this.widgetName = widgetName;
			this.widgetBase = widgetBase;
		}
	}

	/// <summary>
	/// 面板关闭事件
	/// </summary>
	public class PanelCloseGE : IGameEvent
	{
		public string panelName;

		public PanelCloseGE(string panelName)
		{
			this.panelName = panelName;
		}
	}

	/// <summary>
	/// widget关闭事件
	/// </summary>
	public class WidgetCloseGE : IGameEvent
	{
		public string widgetName;

		public WidgetCloseGE(string widgetName)
		{
			this.widgetName = widgetName;
		}
	}
}
